home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / utility / gnumk361.zip / MAKE.REA next >
Text File  |  1992-03-13  |  3KB  |  61 lines

  1. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= README Release 1 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  2.  
  3. This distribution contains release 1 of a copy of the 3.62 test release of 
  4. GNU Make which has been modified to run under the emx 32-bit environment under 
  5. MS-DOS or os/2 2.0.  (See the README.GNU file in either of the zoo files for 
  6. more information about GNU Make.)
  7.  
  8. GNU Make is free software.  See the file COPYING for copying conditions.  This
  9. program is provided with absolutely NO WARRANTY of any kind.
  10.  
  11. This distribution consists of three different parts:
  12.  
  13.     * readme:       This file (it is also included in the zoo files).
  14.     * makeexe.zoo:  The make executable which is ready to run under emx.
  15.     * makesrc.zoo:  The source files to create make.  To compile the sources
  16.                     you will need emx with the GNU C compiler and also
  17.                     makeexe.zoo.
  18.  
  19. This distribution does not contain the GNU provided documentation for GNU 
  20. Make.  The documentation can be found in the original GNU release.  (I got 
  21. mine via anonymous ftp from jaguar.cs.utah.edu.)  There's no documentation 
  22. with this release because I only keep the documentation around as RTF files 
  23. and not as .texinfo files as GNU does.
  24.  
  25. In porting GNU make I have taken a mostly slash and burn approach.  GNU Make
  26. relies very heavily on the un*x fork function which is resource intensive.
  27. I have made massive changes in the job.c file so that this release does not
  28. use the fork function.  This makes for a smaller executable and hopefully a 
  29. program which is a little more robust in the emx environment.
  30.  
  31. I have also changed the handling of commands within make.  To illustrate the
  32. changes, imaging that make wants to issue a command:
  33.     gcc -c test.c
  34. First, it examines the command name (in this case "gcc").  If the name ends
  35. with a .bat, .cmd, or .com extension, make uses the emx system() function to
  36. ask either command.com or cmd.exe to execute the command.  If the name does
  37. not end with a .bat, .cmd, or .com extension, make adds a ".exe" extension
  38. and looks for the command using the PATH environment variable.  If it finds
  39. the command, it executes it directly via a spawnve() function call without 
  40. loading command.com or cmd.exe.  
  41.  
  42. This allows make to avoid problems with command line length limits under 
  43. ms-dos when calling other emx programs (like gcc, etc.).  If make cannot 
  44. find the command in its path, it reverts back to using the emx system() 
  45. function to execute the command.  Thus, in the worse case senario make uses 
  46. either command.com or cmd.exe, but in the best case senario, in directly 
  47. executes the command and perserves the ability to use long command lines.
  48. [Clear as mud, right!?]
  49.  
  50. I will gladly accept any question, comments, or insults for poor porting.
  51. Send email to:
  52.     gchunt@mail.physics.utah.edu
  53. Or, to the emx-list mailing list:
  54.     emx-list@mail.physics.utah.edu
  55. To subscribe to the emx-list mailing list, send email to:
  56.     emx-list-request@mail.physics.utah.edu
  57.  
  58. galen c. hunt
  59. 9/March/92
  60.  
  61.